package cn.sangedon.review.analysis.service;

import cn.sangedon.review.common.domain.analysis.StockStrategy;
import com.baomidou.mybatisplus.extension.service.IService;
import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * @author dongliangqiong
 * @description 针对表【tb_stock_strategy】的数据库操作Service
 * @createDate 2022-08-26 18:00:56
 */
public interface StockStrategyService extends IService<StockStrategy> {
    /**
     * 获取所有在用的策略
     *
     * @param status 状态,1 启用，0 未启用
     * @return
     */
    List<StockStrategy> listStrategy(Integer status);

    /**
     * 执行策略
     *
     * @param id
     */
    void execStrategy(Long id);

    /**
     * 验证某个策略某日成功率
     *
     * @param id 策略ID
     * @param time 待验证日期
     * @return
     * @throws ParseException
     */
    Map<String, Object> verify(Long id, String time);

    /**
     * 计算策略历史成功率
     *
     * @param id 策略ID，必填
     * @param startTime 开始时间，必填
     * @param endTime 结束时间，必填
     * @return
     */
    Map<String, Object> verifyHistory(Long id, String startTime, String endTime);
}
